# This build file includes a target for the Ruby wrapper library for
# google-cloud-profiler.

# This is an API workspace, having public visibility by default makes perfect sense.
package(default_visibility = ["//visibility:public"])

# Export yaml configs.
exports_files(glob(["*.yaml"]))

load(
    "@com_google_googleapis_imports//:imports.bzl",
    "ruby_cloud_gapic_library",
    "ruby_gapic_assembly_pkg",
)

# Generates a Ruby wrapper client for cloudprofiler.
# Ruby wrapper clients are versionless, but are generated from source protos
# for a particular service version, v2 in this case.
ruby_cloud_gapic_library(
    name = "cloudprofiler_ruby_wrapper",
    srcs = ["//google/devtools/cloudprofiler/v2:cloudprofiler_proto_with_info"],
    extra_protoc_parameters = [
        "ruby-cloud-gem-name=google-cloud-profiler",
        "ruby-cloud-env-prefix=PROFILER",
        "ruby-cloud-wrapper-of=v2:0.9",
        "ruby-cloud-product-url=https://cloud.google.com/profiler/docs",
        "ruby-cloud-api-id=cloudprofiler.googleapis.com",
        "ruby-cloud-api-shortname=cloudprofiler",
    ],
    ruby_cloud_description = "Cloud Profiler is a statistical, low-overhead profiler that continuously gathers CPU usage and memory-allocation information from your production applications. It attributes that information to the application's source code, helping you identify the parts of the application consuming the most resources, and otherwise illuminating the performance characteristics of the code.",
    ruby_cloud_title = "Cloud Profiler",
    transport = "grpc+rest",
)

# Open Source package.
ruby_gapic_assembly_pkg(
    name = "google-cloud-profiler-ruby",
    deps = [
        ":cloudprofiler_ruby_wrapper",
    ],
)
